package com.warmheart.entity.access;

import java.util.Date;

import com.warmheart.base.entity.BaseEntity;
import com.warmheart.builder.access.AccessPermissionCoBuilder;
import com.warmheart.builder.access.AccessPermissionRsBuilder;

/**
 * 
 * @ClassName: AccessPermission
 * @Description: 权限实体类，对应表名称为tb_access_permission
 *               温馨提示：不要修改该实体类的任何字段
 * @author ZhangJianyang
 * @date 2025年06月16日 下午13:05:35
 *
 */
public class AccessPermission extends BaseEntity<AccessPermissionCoBuilder, AccessPermissionRsBuilder> {

	private static final long serialVersionUID = 1L;
	
	/**
     * 
     * @Title: tableName
     * @Description: 表名称
     * @author ZhangJianyang
     * @return
     */
    @Override
    public String tableName() {
        return "tb_access_permission";
    }

    public AccessPermissionCoBuilder coBuilder() {
        return new AccessPermissionCoBuilder(this);
    }

    public AccessPermissionRsBuilder rsBuilder() {
        return new AccessPermissionRsBuilder(this);
    }

    /**
     * 用户ID
     */
    private Integer userId;

    /**
     * 资源类型
     */
    private String resourceType;

    /**
     * 资源ID
     */
    private Integer resourceId;

    /**
     * 访问类型
     */
    private String accessType;

    /**
     * 是否临时权限
     */
    private String state;

    /**
     * 来源申请ID
     */
    private Integer sourceRequestId;

    /**
     * 过期时间
     */
    private Date expiresTime;

    /**
     * 
     * @Title: getUserId
     * @Description: 用户IDgetter方法
     * @author ZhangJianyang
     * @return
     */
    public Integer getUserId(){
        return userId;
    }
    
    /**
     * 
     * @Title: setUserId
     * @Description: 用户IDsetter方法
     * @author ZhangJianyang
     * @param userId
     */
    public void setUserId(Integer userId){
        this.userId = userId;
    }

    /**
     * 
     * @Title: getResourceType
     * @Description: 资源类型getter方法
     * @author ZhangJianyang
     * @return
     */
    public String getResourceType(){
        return resourceType;
    }
    
    /**
     * 
     * @Title: setResourceType
     * @Description: 资源类型setter方法
     * @author ZhangJianyang
     * @param resourceType
     */
    public void setResourceType(String resourceType){
        this.resourceType = resourceType;
    }

    /**
     * 
     * @Title: getResourceId
     * @Description: 资源IDgetter方法
     * @author ZhangJianyang
     * @return
     */
    public Integer getResourceId(){
        return resourceId;
    }
    
    /**
     * 
     * @Title: setResourceId
     * @Description: 资源IDsetter方法
     * @author ZhangJianyang
     * @param resourceId
     */
    public void setResourceId(Integer resourceId){
        this.resourceId = resourceId;
    }

    /**
     * 
     * @Title: getAccessType
     * @Description: 访问类型getter方法
     * @author ZhangJianyang
     * @return
     */
    public String getAccessType(){
        return accessType;
    }
    
    /**
     * 
     * @Title: setAccessType
     * @Description: 访问类型setter方法
     * @author ZhangJianyang
     * @param accessType
     */
    public void setAccessType(String accessType){
        this.accessType = accessType;
    }

    /**
     * 
     * @Title: getState
     * @Description: 是否临时权限getter方法
     * @author ZhangJianyang
     * @return
     */
    public String getState(){
        return state;
    }
    
    /**
     * 
     * @Title: setState
     * @Description: 是否临时权限setter方法
     * @author ZhangJianyang
     * @param state
     */
    public void setState(String state){
        this.state = state;
    }

    /**
     * 
     * @Title: getSourceRequestId
     * @Description: 来源申请IDgetter方法
     * @author ZhangJianyang
     * @return
     */
    public Integer getSourceRequestId(){
        return sourceRequestId;
    }
    
    /**
     * 
     * @Title: setSourceRequestId
     * @Description: 来源申请IDsetter方法
     * @author ZhangJianyang
     * @param sourceRequestId
     */
    public void setSourceRequestId(Integer sourceRequestId){
        this.sourceRequestId = sourceRequestId;
    }

    /**
     * 
     * @Title: getExpiresTime
     * @Description: 过期时间getter方法
     * @author ZhangJianyang
     * @return
     */
    public Date getExpiresTime(){
        return expiresTime;
    }
    
    /**
     * 
     * @Title: setExpiresTime
     * @Description: 过期时间setter方法
     * @author ZhangJianyang
     * @param expiresTime
     */
    public void setExpiresTime(Date expiresTime){
        this.expiresTime = expiresTime;
    }
}
